Управление промокодами
PromocodeManager
Управление промокодами.
class yandex_b2b_go.promocode.PromocodeManager
Атрибут
-
PromocodeOrderManager — управление заказами промокодов.
order: PromocodeOrderManager
PromocodeOrderManager
Управление заказами промокодов.
class yandex_b2b_go.promocode.PromocodeOrderManager
Атрибут
-
CodeManager — управление промокодом в заказе.
code: CodeManager
Методы
- list — получает список заказов промокодов.
- get — получает информацию по заказу.
- create — создает заказ на промокоды.
- cancel — отменяет заказ на промокоды.
List
Получает список заказов промокодов.
async def list(
limit: int, cursor:
Optional[str] = None
) -> PromocodeOrderListResponse
Параметры
limit
— количество выводимых записей.cursor
— отметка запроса (возвращается в теле ответа на предыдущий запрос). Для запроса первой страницы параметр указывать не нужно, для запросов последующих страниц — обязательно.
В случае успешного выполнения возвращает класс PromocodeOrderListResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import PromocodeManager
from yandex_b2b_go import errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
promocode_manager = PromocodeManager(client=client)
try:
promocodes = await promocode_manager.order.list(limit=10)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
Get
Получает информацию по заказу.
async def get(order_id: str) -> PromocodeOrderResponse
Параметр
order_id
— идентификатор заказа.
В случае успешного выполнения возвращает класс PromocodeOrderResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import PromocodeManager
from yandex_b2b_go import errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
promocode_manager = PromocodeManager(client=client)
try:
order_info = await promocode_manager.order.get(order_id='23b...89c')
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
Create
Создает заказ на промокоды.
async def create(
promocode: Promocode,
idempotency_token: uuid.UUID
) -> PromocodeCreateResponse
Параметры
promocode
— информация о промокодах, класс Promocode.idempotency_token
— токен идемпотентности. Строка формата UUID. Одному токену идемпотентности соответствует один заказ, для нового заказа нужно сгенерировать новый токен.
В случае успешного выполнения возвращает класс PromocodeCreateResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
import uuid
from yandex_b2b_go import Client
from yandex_b2b_go import PromocodeManager
from yandex_b2b_go import typing, errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
promocode_manager = PromocodeManager(client=client)
try:
promocode = typing.Promocode(
name='Promocode',
value=500,
count=20,
active_until='2025-12-31'
)
token = uuid.uuid4()
order_info = await promocode_manager.order.create(
promocode=promocode,
idempotency_token=token,
)
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
Cancel
Отменяет заказ на промокоды.
async def cancel(order_id: str) -> PromocodeOrderCancelResponse
Параметр
order_id
— идентификатор заказа.
В случае успешного выполнения возвращает класс PromocodeOrderCancelResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import PromocodeManager
from yandex_b2b_go import errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
promocode_manager = PromocodeManager(client=client)
try:
cancel_status = await promocode_manager.order.cancel(order_id='23b...89c')
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())
CodeManager
Управление промокодом в заказе.
class yandex_b2b_go.promocode.CodeManager
Метод
- list — получает информацию о промокодах в заказе.
List
Получает информацию о промокодах в заказе.
async def list(
order_id: str,
limit: Optional[int] = None,
cursor: Optional[str] = None
) -> CodeListResponse
Параметры
order_id
— идентификатор заказа.limit
— количество выводимых записей.cursor
— отметка запроса (возвращается в теле ответа на предыдущий запрос). Для запроса первой страницы параметр указывать не нужно, для запросов последующих страниц — обязательно.
В случае успешного выполнения возвращает класс CodeListResponse.
Если переданы неверные параметры, возвращает ошибку ValidationError.
Если код ответа не равен 200, возвращает ошибку ApiError.
Пример вызова
import asyncio
from yandex_b2b_go import Client
from yandex_b2b_go import PromocodeManager
from yandex_b2b_go import errors
TOKEN = '<ваш токен>'
async def main():
client = Client(token=TOKEN)
promocode_manager = PromocodeManager(client=client)
try:
code_info = await promocode_manager.order.code.list(order_id='23b...89c')
...
except errors.ValidationError as e:
return str(e.args)
except errors.ApiError as e:
return e
asyncio.run(main())